package com.gxa.modules.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


@Data
@ApiModel("贷款信息")
public class Loan {

  @ApiModelProperty(name = "loan_id",notes = "贷款编号，主键",dataType = "String",required = false)
  private long loan_id;
  @ApiModelProperty(name = "loan_nature",notes = "借款性质",dataType = "String",required = false)
  private String loan_nature;
  @ApiModelProperty(name = "loan_type",notes = "借款类型",dataType = "String",required = false)
  private String loan_type;
  @ApiModelProperty(name = "loan_product",notes = "贷款产品",dataType = "String",required = false)
  private String loan_product;
  @ApiModelProperty(name = "loan_use",notes = "贷款用途",dataType = "String",required = false)
  private String loan_use;
  @ApiModelProperty(name = "reimbursement_means",notes = "还款方式",dataType = "String",required = false)
  private String reimbursement_means;
  @ApiModelProperty(name = "time_limit",notes = "贷款期限",dataType = "String",required = false)
  private int time_limit;
  @ApiModelProperty(name = "applied_amount",notes = "申请金额",dataType = "String",required = false)
  private BigDecimal applied_amount;
  @ApiModelProperty(name = "approval_amount",notes = "审核金额",dataType = "String",required = false)
  private BigDecimal approval_amount;
  @ApiModelProperty(name = "compound_interest",notes = "综合利率",dataType = "String",required = false)
  private double compound_interest;
  @ApiModelProperty(name = "management_fee",notes = "借款管理费",dataType = "String",required = false)
  private double management_fee;
  @ApiModelProperty(name = "application_date",notes = "申请日期",dataType = "String",required = false)
//  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date application_date;
  @ApiModelProperty(name = "state",notes = "\t状态：1：初审通过 2：复审通过 3：终审通过 4：复审驳回 5：终审驳回 6：初审不通过 7：复审不通过 8：终审不通过 0：待初审',",dataType = "Integer",required = false)
  //放款账号
  private String loan_account;
  private long state;
  @ApiModelProperty(name = "customer_id",notes = "客户id，外键",dataType = "String",required = false)
  private long customer_id;

  //放款通道
  @ApiModelProperty(name = "loan_channel",notes = "放款方式：1(线下放款),2(委托银行放款)",dataType = "String",required = false)
  private int loan_channel;
  //客户实体
  @ApiModelProperty(name = "customer",notes = "客户实体",dataType = "Customer",required = false)
  private Customer customer;

  @ApiModelProperty(name = "customer",notes = "客户实体",dataType = "Customer",required = false)
  private Contract contract;

  private Remind remind;
  private Receivable receivable;

  @ApiModelProperty(name = "loan_processing",notes = "放款登记",dataType = "Loan_Processing",required = false)
  private Loan_Processing loan_processing;



  @ApiModelProperty(name = "auditList",notes = "审核",dataType = "auditList",required = false)
  private List<Audit> auditList;
//  贷款审核中间表
  private ApproveLoan approveLoan;
//对账表
  private Reconciliation reconciliation;
//还款表
  private Loanafter_Payback loanafter_payback;
}
